import {lineRaceData} from './EchartOptionDatas.g'

const countries = [
    'Finland',
    'France',
    'Germany',
    'Iceland',
    'Norway',
    'Poland',
    'Russia',
    'United Kingdom'
];
const datasetWithFilters = [];
const seriesList = [];

countries.forEach((country)=>{
    var datasetId = 'dataset_' + country;
    datasetWithFilters.push({
        id: datasetId,
        fromDatasetId: 'dataset_raw',
        transform: {
            type: 'filter',
            config: {
                and: [
                    { dimension: 'Year', gte: 1950 },
                    { dimension: 'Country', '=': country }
                ]
            }
        }
    });
    seriesList.push({
        type: 'line',
        datasetId: datasetId,
        showSymbol: false,
        name: country,
        endLabel: {
            show: true,
            formatter: function (params) {
                return params.value[3] + ': ' + params.value[0];
            }
        },
        labelLayout: {
            moveOverlap: 'shiftY'
        },
        emphasis: {
            focus: 'series'
        },
        encode: {
            x: 'Year',
            y: 'Income',
            label: ['Country', 'Income'],
            itemName: 'Year',
            tooltip: ['Income']
        }
    });
})

// 动态排序折线图
export const LineRaceOption = {
    animationDuration: 10000,
    dataset: [
        {
            id: 'dataset_raw',
            source: lineRaceData
        },
        ...datasetWithFilters
    ],
    title: {
        text: 'Income of Germany and France since 1950'
    },
    tooltip: {
        order: 'valueDesc',
        trigger: 'axis'
    },
    xAxis: {
        type: 'category',
        nameLocation: 'middle'
    },
    yAxis: {
        name: 'Income'
    },
    grid: {
        right: 140
    },
    series: seriesList
};
